{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Basic API Usage for FFmpeg\n",
    "\n",
    "## Input\n",
    "\n",
    "### Creating a New Input Stream\n",
    "To create a new input stream, use the `ffmpeg.input` function. This function is straightforward and initiates the stream from a specified file.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAIEAAAA7CAYAAABc8elDAAAABmJLR0QA/wD/AP+gvaeTAAAFCElEQVR4nO2cfUxVdRjHP5d4uaDAQEBUWIoznShNy5LsZYbT3LT+YWK0XP1RzrWWjU1n/VF/uLlyTWqLBFtlZvEi6cSloqipXV/whZaihis2wCEQaAbdILj98Xi7b1y4cLkv6PPZzu45z3nOPd977/f3/J5zuBeDxWKxoNzXhARagBJ41ASKmkCBUOdAY2MjJpMpEFoUP5CamkpmZqZj0OJESUmJBdDlHl2ys7OdP3KLSyWwUnjO3R5ltFK4vv+49gSKmkBREyioCRTUBApqAgU1gYKaQEFNoKAmUFATKKgJFNQECmoCBR+boO4C7P/C+xxFuHoWKoqg5tjIPq9vTXAR9n/pfY4/uFoNB74KtAr33GmHog2wzwcmcPulkpFg2hwwGLzP8QfXquFoKTz3SqCV9E/xZpiSLoNmpAm6nqD2NFTukPWGa7J+cg/8/Zf7vN8vQeXXYNoL5k7HvItH4MT3rucxVUB1paxfNsmb29Mt5baiCA7v9Exjfa2snz8Mlj6J9fXChSo4uF2mu4GOH0i7lZ9/lGXlOveavCHopoPa03BoB/y0F8o/hlutsn9jLpi7XPOOFMOeAsk7sB3eXwF/3LDlXTwKJ3a7nvdUBVQfHN7rsp77eDlUbIWOm/DdB/D5u2Kkgjy4fAqarsNHq13P76l2gK47sHOTVKjElOHpHQyfTgfDxdwFzfWwtkC2l6yCd5bDyd2w6CXHvLYmePtu3vNrYNMq2JUPqz/0/HzpT8D1Gmisg+Wve66xowXe/ES2H34GtqyB3l5Y9hpMTpd4uBH2bYMFL0BIiOPxnmjftQUiIn07TQXddADQbYZFubbt2ASYMgt++8U1L8suzxgFC1fI6O/80/caF+bYtqc/CmER0HnbZgCAWQvgVotUi6Fqv3JWKuLKdRAa7rvX4nUl6GiROdseT0eTO4xR8sHbEx0vZdOesAgYN8ExljwFLBZobYAx6fgM4xiIibdtGwwwNhbGP+iYFx0nj7fbHLUOpj00Db7ZCHOzIN3pZwIjTVBOB+FG11jIA9Jw2dPvVYXFutP9cSAjMTLaC40R/Wt0jhvu1tqham+6Dm03YMZj0qha+bcHGn6V2ONLISl1uK/AhtcmiEvyfuQPl24ztDdDfLIt1lwvj9YmKjYBrpxxPK6vF1obITbRFjP4eWIcTHu3GZb56X0Nyp7AU8KNUPWtbfufLjhWBnOehTExEkubLdNIfa0t73g5/1cKK9Hx0qz1dDvGWxpk1DXW+Ve7dXA5L6FhkPqQrI9EFYAgnQ48xRglIyn/DZg4Va73zV2Q/ZYtJ+MpSMuAT9fCvCXQflPevElTHZ9r9pPSmX+WJ41dVLRcibQ2yF26pBRImeZf7f4i6O4YzpwPMeNc8x7JkmtmZ7Jy5cqhrgYWvyyNVORY235DCORthfNV0qFnPA0z5snNojC7+TthIrxXDJdM0GV3ZZGYKmV5kp0B3GnMehGSJzvG4sbL8fZl31Pt/bH0VZiQNnDOUDE4/6eS0tJScnJygv63iLvy4cwPsLky0EqGTqC0F66HtLhsysrKHOKjuidQRoZR2xO4K8mjgWDTPqpNMHN+oFUMj2DTrtOBoiZQ1AQKagIFNYGCmkBBTaCgJlBQEyioCRTUBApqAgU1gYKaQGGAPyWfO+RPGYo/uNUCxLnG3Zpg2wYfqlECxtzprjGX7xgq9x/aEyhqAkVNoCCNYdmgWco9zX/ttEYk+k1pTwAAAABJRU5ErkJggg==",
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
       "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
       " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
       "<!-- Generated by graphviz version 2.43.0 (0)\n",
       " -->\n",
       "<!-- Title: %3 Pages: 1 -->\n",
       "<svg width=\"97pt\" height=\"44pt\"\n",
       " viewBox=\"0.00 0.00 97.00 44.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
       "<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 40)\">\n",
       "<title>%3</title>\n",
       "<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-40 93,-40 93,4 -4,4\"/>\n",
       "<!-- 2a583e37e126135d -->\n",
       "<g id=\"node1\" class=\"node\">\n",
       "<title>2a583e37e126135d</title>\n",
       "<polygon fill=\"#99cc00\" stroke=\"black\" points=\"89,-36 0,-36 0,0 89,0 89,-36\"/>\n",
       "<text text-anchor=\"middle\" x=\"44.5\" y=\"-14.9\" font-family=\"Helvetica,sans-Serif\" font-size=\"12.00\">&#45;i input.mp4</text>\n",
       "</g>\n",
       "</g>\n",
       "</svg>\n"
      ],
      "text/plain": [
       "AVStream(node=InputNode(kwargs=FrozenDict({}), inputs=(), filename='input.mp4'), index=None, optional=False)"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import ffmpeg\n",
    "\n",
    "# Create a new input stream\n",
    "ffmpeg.input(\"input.mp4\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Adding Input Options\n",
    "To specify additional options for the input stream, such as start time and duration, you can include them directly in the `ffmpeg.input` function.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAN8AAAA7CAYAAAD7LF+4AAAABmJLR0QA/wD/AP+gvaeTAAAIbElEQVR4nO2de3DU1RXHP7tJSEgIBAzhrSQYsQkEecqzLYaqTA1gp5M0+JjaaaWWWmmhdrCd2odKK2OFaqOCtbW1PAJUbSiVUt4SkIAJFQISFJCAEAKEBkIIhO0fJzv7dt97o57PzG92f/ee/f3O/e3ve++55+7DYrPZbCiKEmtWWE17oCifV1R8imIIFZ+iGCLevaC2tpby8nITvijKZ5bCwkLPQpsby5cvtwG66aZbBDcvlHqMfHZe2uWrRlGUQNm1DhbP9V6ncz5FMYSKT1EMoeJTFEOo+BTFECo+RTGEik9RDKHiUxRDqPgUxRAqPkUxhIpPUQyh4lMUQ6j4FMUQKj5FMYSKT1EM4fMrRSZoaoQDFVBfC13SYeAISMvwbnvqKOzbDlevwI1DICsvtr4GypkTULkRLl2E/GJITvVuF8n21LwLh6pg8rfCs1GEAzuhpgr63QS3fDlyx43qyHegAt76c2C2qxfDTybDur9C4znYuRZ+djdsWOZpu3kl/KoYPjoAZz+GhQ/Dkt9E1PWwOXMC5n8bfvdd2L0eVi+CS43ebSPdnppK+NefwreJBcHcIyZoPAuL5sr7V7UpsseO6sj3fgVsLIU7v+nf9oM9UPwojJ3iKFvzRyh9BrKHQr+BUnbyCCx7GgrnwMS2b+YPy4dnZsDNI+V5eyAuHqbNhBtvgQ1L4cP/ereLRnuyh4LFEr5NLAjmHjHBsvmQmSudVaSJmvj2lYvDV1qgbJGUdUyBSfd4t7/nMUjv7Vo2+qvw5gtQvcMhvm1vQkIiTJjmsLtpuIQEW/4euvhOHoGD78LlJuiVCTljwGoNvN6dtAzfIbMz0WpPsFTvgNoauP0+OPY+7N8pIfLwSdCxk3e7w3slfO2UJn4mpTjsKjfAhQaY8DXX85SXSXtH3h78PeJ87iPVcHA3XNcLht0GFitca5XR6XQtZA2G7GG+X/9JvtvZs1m2x0vh18VBX1K/tJuEi7vwQMJPcO2hD+2BPtkQ38HVNnOQjC6h/ATwf5bAk/fKHKjxLGxeBU/dJ0ILpD4cotGeUMLO6h0S8m/7B6xaCA2npf6J6dDc5Gm3YRm8USJ2b70KvyiUUNtO5UbY+rrnebeXQcXa4NvkfO4tq6DsRTh3Cpb+Fl7+qQi4ZLbMm48fksjB/fyB+g6Sf/jbPBmRu/cNzV9/RG3kyx0rN2ttDRQ8GNox1r0mwssZ4yg7exKyBnnapmXA5Uty0VI6B34Omw3KXoKCGdIj2vn4Q8Divz5cIt2ecGhukhF+Vons33E/PFYAb7/uOho1N0H9cfhhm92Uh2De/bByAcx4OvDzhXKPNDfBuTp4+PeyP+RL8OxD0NoKd30H+udKeYckySOMm+oaoQTq+8pnIbFjdMPhdjPyuVOxVrbx06BvtqP8SrPnKAGOspbm4M5js8HVFjhf71reK0suvr/6cIl0e8KhpRkmTXfsd0lvG4Hf87TLd7JLSpb5auVGuPi/6Ps4scixP3CEhLEXzzuEBzBoHDTUyegYrO/7d0oE8I1Hvb83kSLske9cHbz9hmtZqCOdnZpKePWXMGAIFM1xrUtIEjG4Yy/rkBicn1arjGhrXoG92+RNyxkNXxgF1jj/9eES6faEQ1KyCM6Z1G4SnjmTkChzLWd6ZkpHdfoYpOQSNZJSoHM3x77FAp26QI8bXO1Su8rj+XpXX/35Hp8Frz0h88DcMUSVdrXOB3DiAyj5kVzM7y+Qi+VMt57QUO/5uoY6GYmSQwjRpn5P1m+qNsGBXbB+KfTqD7MXyYTcX304RKM9odIhybPMGieJDGe8Zkntc1OL79eBjDwdfax1BuSjl87IGudZbmmL6YL1/fghqD8BN49yJIFA1l+PHZSyWydDRr9QW+AgbPF1zfDd41qCDGrPtK1xdUqDR573viA9IE8m3FdbXEOCw3slw+Urff5JfgLckCPbVCTb9+S9MmGf/EBg9aESrfZEk5Zmmat26+koO3lEHu3JiS7psP8d19dda5VMZJfujrJg75Fw8ed7SzPcFaPrGtWmp3aTCe4VL2GVOxcaYOFM6ThnlUDn67zbjZsCLZdhq1PIdXC39Erj7w7ex0sX4Oh+17L0PtKbJiT6rw+XSLcnFnRIgvVLHPuXm2DTChh6myM5lDVYwtUj1Q67LavwSFL5ukfqjskoU1sTW9/tnZr7Fp8gyz8FD0Zm1IMoh52Dx0sW6YXZMhlOTvW9hvPKz+HUR7L+U17mWpeZK3MtkERH0Rw57tFqmads/6esJ434SvA+2mywZB7EJcD1A+Xxva3QewCMLfBf7/O412D1y/L8cFvCYv1SCbl6XA+j7oxOe2JBUrKMHAtmynXYVy4C+vojDpu8CfIRuT/MgpF3wNlTctP2GeB6LF/3yOlj8qmSjL6uCbdY+B4roiq+9N7w+DLYWw5NfrJgeRMksxYIEwsl4bFvO7RegR88J+FbKCSnwty/SEbv6H5ovQpFP4acWx0hkb96f2QOli0W7YHQPuGSM9p7tDE8X5Y73MmfLu9XTZUkpIbluy7GW6ww+0X5aN25U5D3RfnEjn2R3Y6ve6R7Pwn/+jgJz5eP+cXQs79rWdce8nrn8DJQ370x+QHpKCOJxf2faUtLSykqKtL/alC8snIBvLMG5v/btCfBY8J3+381ePkDaP1nWkUxRbtbalDaN75Cv08D7c13FZ8SFDmjZfs00t5817BTUQyh4lMUQ6j4FMUQKj5FMYSKT1EMoeJTFEOo+BTFECo+RTGEik9RDKHiUxRDqPgUxRAqPkUxhIpPUQyh4lMUQ/j8StGudbF0Q1E+m7j/4LAzPsW3eG40XFEUxY7Hb7goihIT9DdcFMUUKj5FMYSKT1EMEQ+sMO2EonwO2fF/04U2yhqQnBEAAAAASUVORK5CYII=",
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
       "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
       " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
       "<!-- Generated by graphviz version 2.43.0 (0)\n",
       " -->\n",
       "<!-- Title: %3 Pages: 1 -->\n",
       "<svg width=\"167pt\" height=\"44pt\"\n",
       " viewBox=\"0.00 0.00 167.00 44.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
       "<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 40)\">\n",
       "<title>%3</title>\n",
       "<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-40 163,-40 163,4 -4,4\"/>\n",
       "<!-- 1a6404e32d576a2a -->\n",
       "<g id=\"node1\" class=\"node\">\n",
       "<title>1a6404e32d576a2a</title>\n",
       "<polygon fill=\"#99cc00\" stroke=\"black\" points=\"159,-36 0,-36 0,0 159,0 159,-36\"/>\n",
       "<text text-anchor=\"middle\" x=\"79.5\" y=\"-14.9\" font-family=\"Helvetica,sans-Serif\" font-size=\"12.00\">&#45;t 20 &#45;ss 10 &#45;i input.mp4</text>\n",
       "</g>\n",
       "</g>\n",
       "</svg>\n"
      ],
      "text/plain": [
       "AVStream(node=InputNode(kwargs=FrozenDict({'t': 20, 'ss': 10}), inputs=(), filename='input.mp4'), index=None, optional=False)"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import ffmpeg\n",
    "\n",
    "# Create a new input stream with specific options\n",
    "ffmpeg.input(\"input.mp4\", ss=10, t=20)  # Start at 10 seconds and last for 20 seconds"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "!!! note\n",
    "    The `ss` option specifies the start time (in seconds), and the `t` option specifies the duration (in seconds) of the input stream. For more details, refer to the [FFmpeg documentation](https://ffmpeg.org/ffmpeg.html#Main-options).\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Stream Selection\n",
    "\n",
    "To specify a particular Audio or Video Stream, use the stream selection feature"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
       "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
       " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
       "<!-- Generated by graphviz version 2.43.0 (0)\n",
       " -->\n",
       "<!-- Title: %3 Pages: 1 -->\n",
       "<svg width=\"358pt\" height=\"44pt\"\n",
       " viewBox=\"0.00 0.00 358.00 44.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
       "<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 40)\">\n",
       "<title>%3</title>\n",
       "<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-40 354,-40 354,4 -4,4\"/>\n",
       "<!-- 2a583e37e126135d -->\n",
       "<g id=\"node1\" class=\"node\">\n",
       "<title>2a583e37e126135d</title>\n",
       "<polygon fill=\"#99cc00\" stroke=\"black\" points=\"89,-36 0,-36 0,0 89,0 89,-36\"/>\n",
       "<text text-anchor=\"middle\" x=\"44.5\" y=\"-14.9\" font-family=\"Helvetica,sans-Serif\" font-size=\"12.00\">&#45;i input.mp4</text>\n",
       "</g>\n",
       "<!-- 3d4d52739e798844 -->\n",
       "<g id=\"node2\" class=\"node\">\n",
       "<title>3d4d52739e798844</title>\n",
       "<polygon fill=\"#99ccff\" stroke=\"black\" points=\"350,-36 195,-36 195,0 350,0 350,-36\"/>\n",
       "<text text-anchor=\"middle\" x=\"272.5\" y=\"-14.9\" font-family=\"Helvetica,sans-Serif\" font-size=\"12.00\">&#45;map 0:v:0 output.mp4</text>\n",
       "</g>\n",
       "<!-- 2a583e37e126135d&#45;&gt;3d4d52739e798844 -->\n",
       "<g id=\"edge1\" class=\"edge\">\n",
       "<title>2a583e37e126135d&#45;&gt;3d4d52739e798844</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M89.08,-18C116.16,-18 151.93,-18 184.62,-18\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"184.65,-21.5 194.65,-18 184.65,-14.5 184.65,-21.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"142\" y=\"-21.8\" font-family=\"Times,serif\" font-size=\"14.00\">0:v:0 &#45;&gt; 0</text>\n",
       "</g>\n",
       "</g>\n",
       "</svg>\n"
      ],
      "text/plain": [
       "OutputStream(node=OutputNode(kwargs=FrozenDict({}), inputs=(VideoStream(node=InputNode(kwargs=FrozenDict({}), inputs=(), filename='input.mp4'), index=0, optional=False),), filename='output.mp4'), index=None, optional=False)"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import ffmpeg\n",
    "\n",
    "ffmpeg.input(\"input.mp4\").video_stream(0).output(filename=\"output.mp4\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'ffmpeg -i input.mp4 -map 0:v output.mp4'"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import ffmpeg\n",
    "\n",
    "ffmpeg.input(\"input.mp4\").video.output(\n",
    "    filename=\"output.mp4\"\n",
    ").compile_line()  # select video stream"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'ffmpeg -i input.mp4 -map 0:a output.mp3'"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ffmpeg.input(\"input.mp4\").audio.output(\n",
    "    filename=\"output.mp3\"\n",
    ").compile_line()  # select audio stream"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'ffmpeg -i input.mp4 -map 0:s output.mp3'"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ffmpeg.input(\"input.mp4\").subtitle.output(\n",
    "    filename=\"output.mp3\"\n",
    ").compile_line()  # select subtitle stream"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'ffmpeg -i input.mp4 -map 0:v:0 output.mp4'"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ffmpeg.input(\"input.mp4\").video_stream(0).output(\n",
    "    filename=\"output.mp4\"\n",
    ").compile_line()  # select video stream with index 0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'ffmpeg -i input.mp4 -map 0:a:0 output.mp3'"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ffmpeg.input(\"input.mp4\").audio_stream(0).output(\n",
    "    filename=\"output.mp3\"\n",
    ").compile_line()  # select audio stream with index 0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'ffmpeg -i input.mp4 -map 0:s:0 output.mp3'"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ffmpeg.input(\"input.mp4\").subtitle_stream(0).output(\n",
    "    filename=\"output.mp3\"\n",
    ").compile_line()  # select subtitle stream with index 0"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "\n",
    "## Output\n",
    "\n",
    "### Creating a New Output Stream\n",
    "To create a new output stream, use the `ffmpeg.output` function. This function is used to configure the output settings of the stream.\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "!!! note\n",
    "    The `ss` option specifies the start time (in seconds), and the `t` option specifies the duration (in seconds) of the input stream. For more details, refer to the [FFmpeg documentation](https://ffmpeg.org/ffmpeg.html#Main-options).\n",
    "\n",
    "## Output\n",
    "\n",
    "### Creating a New Output Stream\n",
    "To create a new output stream, use the `ffmpeg.output` function. This function is used to configure the output settings of the stream.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
       "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
       " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
       "<!-- Generated by graphviz version 2.43.0 (0)\n",
       " -->\n",
       "<!-- Title: %3 Pages: 1 -->\n",
       "<svg width=\"263pt\" height=\"44pt\"\n",
       " viewBox=\"0.00 0.00 263.00 44.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
       "<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 40)\">\n",
       "<title>%3</title>\n",
       "<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-40 259,-40 259,4 -4,4\"/>\n",
       "<!-- 2a583e37e126135d -->\n",
       "<g id=\"node1\" class=\"node\">\n",
       "<title>2a583e37e126135d</title>\n",
       "<polygon fill=\"#99cc00\" stroke=\"black\" points=\"89,-36 0,-36 0,0 89,0 89,-36\"/>\n",
       "<text text-anchor=\"middle\" x=\"44.5\" y=\"-14.9\" font-family=\"Helvetica,sans-Serif\" font-size=\"12.00\">&#45;i input.mp4</text>\n",
       "</g>\n",
       "<!-- 3f7ff3f6d6e9a664 -->\n",
       "<g id=\"node2\" class=\"node\">\n",
       "<title>3f7ff3f6d6e9a664</title>\n",
       "<polygon fill=\"#99ccff\" stroke=\"black\" points=\"255,-36 169,-36 169,0 255,0 255,-36\"/>\n",
       "<text text-anchor=\"middle\" x=\"212\" y=\"-14.9\" font-family=\"Helvetica,sans-Serif\" font-size=\"12.00\">output.mp4</text>\n",
       "</g>\n",
       "<!-- 2a583e37e126135d&#45;&gt;3f7ff3f6d6e9a664 -->\n",
       "<g id=\"edge1\" class=\"edge\">\n",
       "<title>2a583e37e126135d&#45;&gt;3f7ff3f6d6e9a664</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M89.42,-18C110.66,-18 136.33,-18 158.59,-18\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"158.88,-21.5 168.88,-18 158.88,-14.5 158.88,-21.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"129\" y=\"-21.8\" font-family=\"Times,serif\" font-size=\"14.00\">0 &#45;&gt; 0</text>\n",
       "</g>\n",
       "</g>\n",
       "</svg>\n"
      ],
      "text/plain": [
       "OutputStream(node=OutputNode(kwargs=FrozenDict({}), inputs=(AVStream(node=InputNode(kwargs=FrozenDict({}), inputs=(), filename='input.mp4'), index=None, optional=False),), filename='output.mp4'), index=None, optional=False)"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import ffmpeg\n",
    "\n",
    "# Create a new output stream\n",
    "ffmpeg.input(\"input.mp4\").output(filename=\"output.mp4\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "### Specifying Output Options\n",
    "You can specify various output options directly in the `ffmpeg.output` function, such as the start time and duration for the output file."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
       "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
       " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
       "<!-- Generated by graphviz version 2.43.0 (0)\n",
       " -->\n",
       "<!-- Title: %3 Pages: 1 -->\n",
       "<svg width=\"334pt\" height=\"44pt\"\n",
       " viewBox=\"0.00 0.00 334.00 44.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
       "<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 40)\">\n",
       "<title>%3</title>\n",
       "<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-40 330,-40 330,4 -4,4\"/>\n",
       "<!-- 2a583e37e126135d -->\n",
       "<g id=\"node1\" class=\"node\">\n",
       "<title>2a583e37e126135d</title>\n",
       "<polygon fill=\"#99cc00\" stroke=\"black\" points=\"89,-36 0,-36 0,0 89,0 89,-36\"/>\n",
       "<text text-anchor=\"middle\" x=\"44.5\" y=\"-14.9\" font-family=\"Helvetica,sans-Serif\" font-size=\"12.00\">&#45;i input.mp4</text>\n",
       "</g>\n",
       "<!-- 357fb5a485f20632 -->\n",
       "<g id=\"node2\" class=\"node\">\n",
       "<title>357fb5a485f20632</title>\n",
       "<polygon fill=\"#99ccff\" stroke=\"black\" points=\"326,-36 169,-36 169,0 326,0 326,-36\"/>\n",
       "<text text-anchor=\"middle\" x=\"247.5\" y=\"-14.9\" font-family=\"Helvetica,sans-Serif\" font-size=\"12.00\">&#45;t 20 &#45;ss 10 output.mp4</text>\n",
       "</g>\n",
       "<!-- 2a583e37e126135d&#45;&gt;357fb5a485f20632 -->\n",
       "<g id=\"edge1\" class=\"edge\">\n",
       "<title>2a583e37e126135d&#45;&gt;357fb5a485f20632</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M89.11,-18C109.52,-18 134.6,-18 158.68,-18\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"158.93,-21.5 168.93,-18 158.93,-14.5 158.93,-21.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"129\" y=\"-21.8\" font-family=\"Times,serif\" font-size=\"14.00\">0 &#45;&gt; 0</text>\n",
       "</g>\n",
       "</g>\n",
       "</svg>\n"
      ],
      "text/plain": [
       "OutputStream(node=OutputNode(kwargs=FrozenDict({'t': 20, 'ss': 10}), inputs=(AVStream(node=InputNode(kwargs=FrozenDict({}), inputs=(), filename='input.mp4'), index=None, optional=False),), filename='output.mp4'), index=None, optional=False)"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import ffmpeg\n",
    "\n",
    "# Create and configure a new output stream\n",
    "ffmpeg.input(\"input.mp4\").output(\n",
    "    filename=\"output.mp4\", ss=10, t=20\n",
    ")  # Output starting at 10 seconds with a duration of 20 seconds"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "You can also map multiple streams to a single output file.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
       "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
       " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
       "<!-- Generated by graphviz version 2.43.0 (0)\n",
       " -->\n",
       "<!-- Title: %3 Pages: 1 -->\n",
       "<svg width=\"363pt\" height=\"98pt\"\n",
       " viewBox=\"0.00 0.00 363.00 98.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
       "<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 94)\">\n",
       "<title>%3</title>\n",
       "<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-94 359,-94 359,4 -4,4\"/>\n",
       "<!-- 2e39e2d79e9f33a4 -->\n",
       "<g id=\"node1\" class=\"node\">\n",
       "<title>2e39e2d79e9f33a4</title>\n",
       "<polygon fill=\"#99cc00\" stroke=\"black\" points=\"96,-90 0,-90 0,-54 96,-54 96,-90\"/>\n",
       "<text text-anchor=\"middle\" x=\"48\" y=\"-68.9\" font-family=\"Helvetica,sans-Serif\" font-size=\"12.00\">&#45;i input1.mp4</text>\n",
       "</g>\n",
       "<!-- 7af599b721210e78 -->\n",
       "<g id=\"node3\" class=\"node\">\n",
       "<title>7af599b721210e78</title>\n",
       "<polygon fill=\"#99ccff\" stroke=\"black\" points=\"355,-63 176,-63 176,-27 355,-27 355,-63\"/>\n",
       "<text text-anchor=\"middle\" x=\"265.5\" y=\"-41.9\" font-family=\"Helvetica,sans-Serif\" font-size=\"12.00\">&#45;map 0 &#45;map 1 output.mp4</text>\n",
       "</g>\n",
       "<!-- 2e39e2d79e9f33a4&#45;&gt;7af599b721210e78 -->\n",
       "<g id=\"edge1\" class=\"edge\">\n",
       "<title>2e39e2d79e9f33a4&#45;&gt;7af599b721210e78</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M96.03,-66.11C116.6,-63.53 141.56,-60.4 165.89,-57.36\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"166.41,-60.82 175.89,-56.1 165.54,-53.87 166.41,-60.82\"/>\n",
       "<text text-anchor=\"middle\" x=\"136\" y=\"-66.8\" font-family=\"Times,serif\" font-size=\"14.00\">0 &#45;&gt; 0</text>\n",
       "</g>\n",
       "<!-- 54675f3088c8e58c -->\n",
       "<g id=\"node2\" class=\"node\">\n",
       "<title>54675f3088c8e58c</title>\n",
       "<polygon fill=\"#99cc00\" stroke=\"black\" points=\"96,-36 0,-36 0,0 96,0 96,-36\"/>\n",
       "<text text-anchor=\"middle\" x=\"48\" y=\"-14.9\" font-family=\"Helvetica,sans-Serif\" font-size=\"12.00\">&#45;i input2.mp3</text>\n",
       "</g>\n",
       "<!-- 54675f3088c8e58c&#45;&gt;7af599b721210e78 -->\n",
       "<g id=\"edge2\" class=\"edge\">\n",
       "<title>54675f3088c8e58c&#45;&gt;7af599b721210e78</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M96.03,-23.89C116.6,-26.47 141.56,-29.6 165.89,-32.64\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"165.54,-36.13 175.89,-33.9 166.41,-29.18 165.54,-36.13\"/>\n",
       "<text text-anchor=\"middle\" x=\"136\" y=\"-34.8\" font-family=\"Times,serif\" font-size=\"14.00\">1 &#45;&gt; 1</text>\n",
       "</g>\n",
       "</g>\n",
       "</svg>\n"
      ],
      "text/plain": [
       "OutputStream(node=OutputNode(kwargs=FrozenDict({}), inputs=(AVStream(node=InputNode(kwargs=FrozenDict({}), inputs=(), filename='input1.mp4'), index=None, optional=False), AVStream(node=InputNode(kwargs=FrozenDict({}), inputs=(), filename='input2.mp3'), index=None, optional=False)), filename='output.mp4'), index=None, optional=False)"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import ffmpeg\n",
    "\n",
    "# Define input streams\n",
    "input1 = ffmpeg.input(\"input1.mp4\")\n",
    "input2 = ffmpeg.input(\"input2.mp3\")\n",
    "\n",
    "# Map multiple inputs to a single output\n",
    "ffmpeg.output(input1, input2, filename=\"output.mp4\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Alternatively:\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
       "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
       " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
       "<!-- Generated by graphviz version 2.43.0 (0)\n",
       " -->\n",
       "<!-- Title: %3 Pages: 1 -->\n",
       "<svg width=\"363pt\" height=\"98pt\"\n",
       " viewBox=\"0.00 0.00 363.00 98.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
       "<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 94)\">\n",
       "<title>%3</title>\n",
       "<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-94 359,-94 359,4 -4,4\"/>\n",
       "<!-- 2e39e2d79e9f33a4 -->\n",
       "<g id=\"node1\" class=\"node\">\n",
       "<title>2e39e2d79e9f33a4</title>\n",
       "<polygon fill=\"#99cc00\" stroke=\"black\" points=\"96,-90 0,-90 0,-54 96,-54 96,-90\"/>\n",
       "<text text-anchor=\"middle\" x=\"48\" y=\"-68.9\" font-family=\"Helvetica,sans-Serif\" font-size=\"12.00\">&#45;i input1.mp4</text>\n",
       "</g>\n",
       "<!-- 7af599b721210e78 -->\n",
       "<g id=\"node3\" class=\"node\">\n",
       "<title>7af599b721210e78</title>\n",
       "<polygon fill=\"#99ccff\" stroke=\"black\" points=\"355,-63 176,-63 176,-27 355,-27 355,-63\"/>\n",
       "<text text-anchor=\"middle\" x=\"265.5\" y=\"-41.9\" font-family=\"Helvetica,sans-Serif\" font-size=\"12.00\">&#45;map 0 &#45;map 1 output.mp4</text>\n",
       "</g>\n",
       "<!-- 2e39e2d79e9f33a4&#45;&gt;7af599b721210e78 -->\n",
       "<g id=\"edge1\" class=\"edge\">\n",
       "<title>2e39e2d79e9f33a4&#45;&gt;7af599b721210e78</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M96.03,-66.11C116.6,-63.53 141.56,-60.4 165.89,-57.36\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"166.41,-60.82 175.89,-56.1 165.54,-53.87 166.41,-60.82\"/>\n",
       "<text text-anchor=\"middle\" x=\"136\" y=\"-66.8\" font-family=\"Times,serif\" font-size=\"14.00\">0 &#45;&gt; 0</text>\n",
       "</g>\n",
       "<!-- 54675f3088c8e58c -->\n",
       "<g id=\"node2\" class=\"node\">\n",
       "<title>54675f3088c8e58c</title>\n",
       "<polygon fill=\"#99cc00\" stroke=\"black\" points=\"96,-36 0,-36 0,0 96,0 96,-36\"/>\n",
       "<text text-anchor=\"middle\" x=\"48\" y=\"-14.9\" font-family=\"Helvetica,sans-Serif\" font-size=\"12.00\">&#45;i input2.mp3</text>\n",
       "</g>\n",
       "<!-- 54675f3088c8e58c&#45;&gt;7af599b721210e78 -->\n",
       "<g id=\"edge2\" class=\"edge\">\n",
       "<title>54675f3088c8e58c&#45;&gt;7af599b721210e78</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M96.03,-23.89C116.6,-26.47 141.56,-29.6 165.89,-32.64\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"165.54,-36.13 175.89,-33.9 166.41,-29.18 165.54,-36.13\"/>\n",
       "<text text-anchor=\"middle\" x=\"136\" y=\"-34.8\" font-family=\"Times,serif\" font-size=\"14.00\">1 &#45;&gt; 1</text>\n",
       "</g>\n",
       "</g>\n",
       "</svg>\n"
      ],
      "text/plain": [
       "OutputStream(node=OutputNode(kwargs=FrozenDict({}), inputs=(AVStream(node=InputNode(kwargs=FrozenDict({}), inputs=(), filename='input1.mp4'), index=None, optional=False), AVStream(node=InputNode(kwargs=FrozenDict({}), inputs=(), filename='input2.mp3'), index=None, optional=False)), filename='output.mp4'), index=None, optional=False)"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import ffmpeg\n",
    "\n",
    "# Chain input and output operations\n",
    "(ffmpeg.input(\"input1.mp4\").output(ffmpeg.input(\"input2.mp3\"), filename=\"output.mp4\"))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "## Merging Outputs\n",
    "\n",
    "FFmpeg allows processing multiple output files simultaneously. The Python FFmpeg wrapper supports this feature through the `merge_outputs` method.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
       "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
       " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
       "<!-- Generated by graphviz version 2.43.0 (0)\n",
       " -->\n",
       "<!-- Title: %3 Pages: 1 -->\n",
       "<svg width=\"472pt\" height=\"98pt\"\n",
       " viewBox=\"0.00 0.00 472.00 98.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
       "<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 94)\">\n",
       "<title>%3</title>\n",
       "<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-94 468,-94 468,4 -4,4\"/>\n",
       "<!-- 2e39e2d79e9f33a4 -->\n",
       "<g id=\"node1\" class=\"node\">\n",
       "<title>2e39e2d79e9f33a4</title>\n",
       "<polygon fill=\"#99cc00\" stroke=\"black\" points=\"96,-90 0,-90 0,-54 96,-54 96,-90\"/>\n",
       "<text text-anchor=\"middle\" x=\"48\" y=\"-68.9\" font-family=\"Helvetica,sans-Serif\" font-size=\"12.00\">&#45;i input1.mp4</text>\n",
       "</g>\n",
       "<!-- 3a2f691057e7fcfc -->\n",
       "<g id=\"node3\" class=\"node\">\n",
       "<title>3a2f691057e7fcfc</title>\n",
       "<polygon fill=\"#99ccff\" stroke=\"black\" points=\"316,-90 176,-90 176,-54 316,-54 316,-90\"/>\n",
       "<text text-anchor=\"middle\" x=\"246\" y=\"-68.9\" font-family=\"Helvetica,sans-Serif\" font-size=\"12.00\">&#45;map 0 output1.mp4</text>\n",
       "</g>\n",
       "<!-- 2e39e2d79e9f33a4&#45;&gt;3a2f691057e7fcfc -->\n",
       "<g id=\"edge1\" class=\"edge\">\n",
       "<title>2e39e2d79e9f33a4&#45;&gt;3a2f691057e7fcfc</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M96.45,-72C117.17,-72 142.05,-72 165.47,-72\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"165.75,-75.5 175.75,-72 165.75,-68.5 165.75,-75.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"136\" y=\"-75.8\" font-family=\"Times,serif\" font-size=\"14.00\">0 &#45;&gt; 0</text>\n",
       "</g>\n",
       "<!-- 5ccc047fe4a85547 -->\n",
       "<g id=\"node2\" class=\"node\">\n",
       "<title>5ccc047fe4a85547</title>\n",
       "<polygon fill=\"#99cc00\" stroke=\"black\" points=\"96,-36 0,-36 0,0 96,0 96,-36\"/>\n",
       "<text text-anchor=\"middle\" x=\"48\" y=\"-14.9\" font-family=\"Helvetica,sans-Serif\" font-size=\"12.00\">&#45;i input2.mp4</text>\n",
       "</g>\n",
       "<!-- 4ca705b1d754ed4b -->\n",
       "<g id=\"node4\" class=\"node\">\n",
       "<title>4ca705b1d754ed4b</title>\n",
       "<polygon fill=\"#99ccff\" stroke=\"black\" points=\"316,-36 176,-36 176,0 316,0 316,-36\"/>\n",
       "<text text-anchor=\"middle\" x=\"246\" y=\"-14.9\" font-family=\"Helvetica,sans-Serif\" font-size=\"12.00\">&#45;map 1 output2.mp4</text>\n",
       "</g>\n",
       "<!-- 5ccc047fe4a85547&#45;&gt;4ca705b1d754ed4b -->\n",
       "<g id=\"edge2\" class=\"edge\">\n",
       "<title>5ccc047fe4a85547&#45;&gt;4ca705b1d754ed4b</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M96.45,-18C117.17,-18 142.05,-18 165.47,-18\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"165.75,-21.5 175.75,-18 165.75,-14.5 165.75,-21.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"136\" y=\"-21.8\" font-family=\"Times,serif\" font-size=\"14.00\">1 &#45;&gt; 0</text>\n",
       "</g>\n",
       "<!-- 37af1bb0b0c8ae01 -->\n",
       "<g id=\"node5\" class=\"node\">\n",
       "<title>37af1bb0b0c8ae01</title>\n",
       "<polygon fill=\"lightgrey\" stroke=\"black\" points=\"464,-63 410,-63 410,-27 464,-27 464,-63\"/>\n",
       "<text text-anchor=\"middle\" x=\"437\" y=\"-41.9\" font-family=\"Helvetica,sans-Serif\" font-size=\"12.00\">&#45;y</text>\n",
       "</g>\n",
       "<!-- 3a2f691057e7fcfc&#45;&gt;37af1bb0b0c8ae01 -->\n",
       "<g id=\"edge3\" class=\"edge\">\n",
       "<title>3a2f691057e7fcfc&#45;&gt;37af1bb0b0c8ae01</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M316.04,-62.14C344.51,-58.07 376.32,-53.53 400.03,-50.14\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"400.58,-53.6 409.98,-48.72 399.59,-46.67 400.58,-53.6\"/>\n",
       "<text text-anchor=\"middle\" x=\"363\" y=\"-62.8\" font-family=\"Times,serif\" font-size=\"14.00\">out &#45;&gt; 0</text>\n",
       "</g>\n",
       "<!-- 4ca705b1d754ed4b&#45;&gt;37af1bb0b0c8ae01 -->\n",
       "<g id=\"edge4\" class=\"edge\">\n",
       "<title>4ca705b1d754ed4b&#45;&gt;37af1bb0b0c8ae01</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M316.35,-21.99C340.44,-24.09 367.55,-27.25 392,-32 394.62,-32.51 397.31,-33.11 400.01,-33.76\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"399.11,-37.15 409.68,-36.33 400.91,-30.38 399.11,-37.15\"/>\n",
       "<text text-anchor=\"middle\" x=\"363\" y=\"-35.8\" font-family=\"Times,serif\" font-size=\"14.00\">out &#45;&gt; 1</text>\n",
       "</g>\n",
       "</g>\n",
       "</svg>\n"
      ],
      "text/plain": [
       "GlobalStream(node=GlobalNode(kwargs=FrozenDict({'y': True}), inputs=(OutputStream(node=OutputNode(kwargs=FrozenDict({}), inputs=(AVStream(node=InputNode(kwargs=FrozenDict({}), inputs=(), filename='input1.mp4'), index=None, optional=False),), filename='output1.mp4'), index=None, optional=False), OutputStream(node=OutputNode(kwargs=FrozenDict({}), inputs=(AVStream(node=InputNode(kwargs=FrozenDict({}), inputs=(), filename='input2.mp4'), index=None, optional=False),), filename='output2.mp4'), index=None, optional=False))), index=None, optional=False)"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import ffmpeg\n",
    "\n",
    "# Define input streams\n",
    "input1 = ffmpeg.input(\"input1.mp4\")\n",
    "input2 = ffmpeg.input(\"input2.mp4\")\n",
    "\n",
    "# Define output streams\n",
    "output1 = input1.output(filename=\"output1.mp4\")\n",
    "output2 = input2.output(filename=\"output2.mp4\")\n",
    "\n",
    "# Merge the outputs into a single operation\n",
    "ffmpeg.merge_outputs(output1, output2).global_args(y=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Codecs Support\n",
    "\n",
    "typed-ffmpeg supports codec options for input and output nodes. It provides typehint, docstrings and autocomplete for ffmpeg codecs\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA4AAAAA7CAYAAAAq0eR8AAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nO3dd1wUR//A8c9RREEsoKAoCtJELBhFsUSxxIK998QSS0xRf6aYZjCxxcREExMTHhONNbbYsMZeMXbFhgUrgiBgFxDu98fJyXGUO+6OIt/365XX87i3zMzuzM7s7M7MKpRKpRIhhBBCCCGEEK88s/xOgBBCCCGEEEKIvCEdQCGEEEIIIYQoIqQDKIQQQgghhBBFhEXGDbdu3eLgwYP5kZYiwdnZmUaNGuV3MkQOVqxYkd9JEEIIIYQQwiCNGzemcuXKGtsUGReBWbFiBX369MnThBUlPXv2ZOXKlfmdDJEDhUKR30kQQgghhBDCIMuXL6d3794a27TeAKb5/ajJ01Pk/P5JfqdA6GP4tOXUf6N3zjsKIYQQQghRwIysn/kLDZkDKIQQQgghhBBFhHQAhRBCCCGEEKKIkA6gEEIIIYQQQhQRWc4BFIXfw4cP+e233zhw4AApKSk0bNiQ0aNHY2dnl99Jy1ZhTbcQQgghhBAFnbwBfEVFRUVRr1495s+fT58+fXjrrbdYs2YNtWvX5urVq/mdvCwV1nQLIYQQQghRGMgbwFfU22+/ze3btwkPD6dSpUoAtGrVCk9PTwYMGMChQ4fyOYWZK6zpFkIIIYQQojCQN4CvoLNnz7Jx40a6deum7kQBlC1blv79+xMaGsq+ffsMimPs2LEcPnzY0KRqyIt0CyGEEEIIUZRJB/AVtGnTJgCaNGmi9VvTpk0BCAkJMSiORYsW4e/vj4eHB0FBQVy6dMmg8CBv0i2EEEIIIURRJh3AV9CZM2cAcHV11frNxcUFgLCwMIPiuH37NitWrMDb25upU6fi6elJw4YN+emnn7h7926uwsyLdAshhBBCCFGUSQfwFRQTEwNA6dKltX4rVaoUALGxsQbFUbx4cXr16sX69eu5c+cOv/zyC+bm5owZMwYnJyfat2/PkiVLePz4cYFKtxBCCCGEEEWZdABfQcnJyQCYm5tr/WZhoVr3JykpyWjx2dvbM3r0aA4ePMjly5f58ssvuXLlCgMHDsTR0ZGRI0cWyHQLIYQQQghR1EgH8BVka2sLwLNnz7R+e/r0qcY+WYmIiCAgIEDjv9mzZ+cYt5ubGxMmTGDatGl4eHjw+PFj1q1bl2fpFkIIIYQQQmRNPgPxCkqbQxcVFaX1W3R0tMY+WXFwcCAoKEhjW/qVOTNKTU1lz549LFmyhFWrVnH//n3c3d2ZOHEiAwcOzLN0CyGEEEIIIbImHcBXUOPGjfnxxx8JCwujd+/eGr+lLaLSqFGjbMOwsbEhICAgx7hOnz7N4sWLWbZsGbdu3aJ8+fIMGjSIAQMG4O/vn+fpFkIIIYQQQmTNpB3AS8fh8kloP9SwfQqCe5FwYhc8fQyt+oF1AR6J2L59e+zt7Vm/fj1ff/21xm/r16/HxsaGHj16GBTHjBkzWLRoEWFhYVhbW9OlSxcGDhxImzZt1PP1CmK6C6q4qBscWP8nr3cbQZnyTkYLV6lUcu7QVm5fPkPis8c07zGKUvYVjBZ+QRdz6wqhmxZhXbIMrfqP1fgt5XkyF4/uIvLqWaxKlMTVpwGVPetkGs6jhFhO7VnHw/gYKrp6U6tpB8zM5fmZqZjqeigqMl73aWzLOhDQazRQ+M+xvnXbk4cJnNj1D3FRN/AN6Iqzp2+m+0Vdu8Dlk/t5/CAOO0dnajYJpERJ7YXJRN6LvhHOf1uW0qL3e5QsUy5XYehaDjJTkMqGMc5FfpN2VTfZ3ccYwqRzAC+dgM3zDd8nL1w4AlsWaG+/FwnfvQ0/jIJjOyAkGJ4+zPPk6cXGxobvvvuOU6dOaczbW7x4MTt37iQoKIjy5csbFMfEiROpVKkSCxcuJDo6mqVLlxIYGJjrzl9epbugiou6QUjwJO7HRBo13GXfvsv8oLd4mBBjtDBjb19lQ3AQD+5pD9UtSJRKJX99PZSQ4EnsWDZL47fTezfwaceqLJ4ygrioG1w5dYDpg/1ZEDSY1JTnGvtePRPKxO5eHNm2nCcP4lnxw/8xY1hTnj0p4BVBHjNmuTDV9WCowlL2M7vuT+1Zz56Vv6r/XVDPsa70qduCJ/Tmqx7VOb59FSHBk7h58WSm+62Z8ymT+tTi/OF/eZQQy/YlP/JZJxcuHt1l7OTni8JSfrNKZ/T1cEKCJ/EoIXergetaDjJT0MqGrueioOZ5QWlXC+r5SZPdfYyhTNrV9qgLCoXh++SFi0dg1wpoN1hzu7kFdH0X3H1h5zK4ejpfkqe3IUOGkJiYyGeffcbcuXOxtLTk2rVrTJs2jQ8//NDg8G/cuIGDg4MRUqrJ2OmOiorCwcEBM7OCvd6RXYUqdBzxFaWN/CT+yLa/eWPgeAKHfm60MGNuXyUkeBK+AV0L9NvEvat/I/p6OO6+TYmPvqnx2/ULx6jbsju9xv2AhWUxAJp0HsrMkQE4e/qqn7KlPE/mj8/741W/BSNnrAKgzZsfMbFHddbM+ZR+H8/J24MqwApLuTBEYTnGzK77+OhbRJwJVf/bVHVOXtGnbvNr24+hXy/izrXzhB3cnOk+N8NPsmXBdLq/P522b30CgDI1lRnDmrBo8nAmr71s1PTnh8JSfk2VTl3KQWYKc9koiHlekNrVgnh+0svuPsZQBe5d67lQuHUJ2gyCmxfh/H+q4Zb1WkOJkpnvFxGmGkpasgy81gqK27zc78ROeJQAr3fXjOfgBrC0Ar82cPag6k1kchJsCFb9XsIGWg+AMg6q/wqjUaNGMWTIEM6dO0dqaire3t5YW1sbJWxTdP7SGDPds2bNYv78+QwYMIB+/frh5+dn5NRmL/0wjcSnjzm5ey0KhYI6zTpj7+SS5d/tWTWX50mJWq/7d6/4BSVKWvR+L9t4b4af5OTutTx5EM/lE/vYEBxEafsKNOsxSiNNyYlPObFrDRbFrGjQth/FbVTfW7x0Yh9XzxzCvkJVXmvdEzMz1ac5oq5dIDRkIQB7V/1GqXKqCrNl3w+wKWWnkYaH8THsXvkL9Vr1xMmtZqbpa9nnfe7duc6pvetpP+QzdWcMIPzYbq6eCaXd4Ak8jLvL7lW/Uq91L5yq+WiEdSv8FCd2r9EYChMffZN/fvqEAZ/9xn9blmpVnI06vkU5J80FhTxea4Z9RRfOhm5Vn/dzoduIjYxgyNcL1fuVLFMO/w6D2L92Hr3GzsSimFWu8zk7uoaZfr/nyUnq/Zr3fEd9LsIObuFRfAzlKrniG9AVS6sSGnE9SojlzP6NPIiLxr6iCzX822BtW0Zjn+zC0adc6BNnRrcvn+HCkZ08T3pGJY/a+Pi3RfHi4U5qagqb/phCzcbtcPFpAMCzxw/4d8kPOFbxpEG7/upwdq/8FTtHZ2o365RtfOlld4z3Iq/lWIZBM69SnidzfMcqUlNSqNO8M+UqVdOKU5e8Sy+76z4nhtQLuZVw9zZnQ7fyKD6GCq7e1GoSqB4CllW5rla7kd7HWLdFtxzTEnXtAgDudV9Xb1OYmeHu25R/F88k5Xky5haWeh3f4wdx7Pz7J1VYKLC1c6CyR23c6jTJdP/wY7uJCDtM6fJO1Gvdi2th/3H55H7aD/1M5zizuq6yK7+PEmINqkP0LdcXjuzk+rkjmR5ndulM737snRzjyUiXcpAZU5QNY15v9+5cz7R9MGWep9G3jgLd29XsZNcWANy4cDzHOlnfdsvQPNP3PiGn+xhDFbghoOdC4d9FcGA9rJ4NCTGq3yf3h2dPtPfb+Tes/VW135a/IKi3athmmhO7YN8a7XgPbYAjWw07vsLAysqKunXrUq9ePaN1/vKCMdMdGxvLnDlzaNCgAVWrVmXixImcP3/eSCnNXtowjdN7NxD8SS/u3bnGiZ3/8FVPb87s36jeL+NwrHJOrqz88f/YteLlk7AD6/5g2Yz3sHN0Nkqawg5uZt7n/YmNjGD3il+YMqg+Tx/d55+fPmHH0h+Jj7rJoikjmD/xzVzFU7JMOQ5vWsyWv77V+m3TvMkc2bIMm9L23LhwnJDgSaQka37j8eKx3WxZMF0d1v6189i+5EetsLYunMGhDQuwKW2v3rZ46iiq1qivcdOfXsbOH0BqynOePEpAoXhZLV45dQCFQkHVGvU19nWt2ZDEJ4+4dVk1JEDXfNaHrmGm7Xdm/0Z++6g7sbevolQqAdi1Yg5fdHXn5O61PLp/j60LvyOod03u3bn+8hhPH+SzTi4c2fY3j+/HcWrPOqa/1ZDr546q99ElHH3oEmdGq2d/xOQBrxFxJpR7d66zIGgwM95uypOHCQCYmZlzbPtK9q7+Xf03F4/tJiR4Eqt/+li9LfHpY1bMHEucERtTXcowvMyr8/9t5/ePexJz+yrHdqwiqJeP1rEb+5xnlLHOyat6Ic3Ov3/i8y7V+G/zEh7Gx3Bw/XymvdWQ5KRnGunJrFybgksNP8zMLbh8Yp96m1Kp5PLJ/VT1rq/3DX5GSmUqNy4cZ864Tvz2UXetY1k8ZQSz329H5NVzXD6xj58/CCTs4GY2z5+qcxy5ua7A8DpEn3K98Oth/DwmkDsR57l8cj9zxnbU+zhvhp/MMR5jMkXZMNb1dvX0oVy1OYbmuT77ZaRru5qVnNoC0L1O1oeheabvfUJO9zGGKnBvAEHV0Yu6BmNfTFdo+yZ81gn2r1G9lUu/X+xtGPdiv87vwLQ3YdUsGDlD9/h8GqsWorl1CTqNMNphiALC0tKSxMREQDV0dfr06XzzzTe4u7szYMAABg0ahJubm0nTcHjLEsYH76ZYcVVn9s+Jg1gydRTfrL2EZbHiWvv7NG5Hq35jWT3rIzxfa46FZTGWfz+G5j3foU7zLjnG5+zpi7OnLyHBk/Bp1C7TicPHtq9k3NwdWFgW4+mj+0wIdGZB0GDc6jSh+weqTlu12o3488uBdHj7Syq4VKeCS3X8O75J6KZFNOs5KtsJ9AqFgte7DWdD8CT6fTxHPVn+UUIsp/dtoMvoKTqdO1A9bW3Qrj/7/gmm3ydz1Ocs8ckjTu5eS+v+41C8GEseumkR5w//y5fLTukcPsCBdX/y5EE8NZu0V2+Li7qBdSk7rTwqU171SZT4qJu41Hj5VlnffNaFrmEe3ryE8b/vUj99vXxyP8u/+4A+H86mRZ/3AdXQmx9GtWTR5OGM/WUbAFvmT8OzXgDvzQpRh/X4/j11Y6pLOPqUC13izOjU3vVsW/Q9Q75eiH/gIEA1ZOibvnVYPfsjBn3xPwC86rfgzL6XYV48uosq1V/jxoXjRN8Ix7GKJ5dP7ifleTLV/VrmdOo16HuM2QkNWci4uduxtCpBamoKUwfWJ2Te17z7w3pA97zLSJfrPie5qRf0FX5sNytmjqX7BzNoM+jl0P7IK2Eo0JwTkrFcpx2nIceYmfKV3Rj57Ur++XkCNy4cx76iCxeP7aZEydIM+jw4V2HalLKj04ggjW2BQz9nYg8vju9YRb3WvQA4/9929q35H+/+sF79Vvpm+Elmv9dWr/iyu67KV3bLsfzmtg5Jk1O5Pn/4Xw6s/5P3Z2+kZpNAACKvnuXHUa3UYehyneUUj7GZomykMfR6y6590OVc5jbPc1tHgf7tanq6tgW6yG2dbso8Szsnub2P0UeBnBiV9Axap+vwli4HrjXh6hnt/Vql26+4NbTorXrr9/hB3qRVFD7JyckAXLlyhalTp+Lu7o6vry+zZ89Wf2/Q2PwDB6kvdoB2gycQf/cWYQeynofQ7f3pVHD1Zt5n/fjfp32xr+hCr3EzjZamhu0GqIdGlChZGjffJpw9uIUWfV4OL63ZJBClUklE2OFcxdG40xBSU57z35al6m2hG1VDLhp1fEuvsBp1eJOnj+5zeu8G9bYTu/4h6dkT/DuoGoKHcXdZ8f1Y3hg4noqu3jqHHX39IqtmfYiTW01e7zpcvT0p8SmWmQxFSduWlH5YArnL55zoGmaDdv01bpL3rJpL6XIVCUg3XNjcwpIWvd/j/OF/eRh3V30MTx7E8zwpUb2fTWl7yld20yscfeQUZ0aHQv7C3smFhu1fflO0nJMrDQMHcnjzElKeq67p6n4tiY2M4F7kNQAuHtlJw8CBOFTx4OKRneptpewr5KrjYiz+HQap88rMzJzazTppzM8zxTnXVV7UC3tW/0bp8k60HjBOY7uTW02toV8Zy7UpJcRE8vRhAqmpqaSmpoBSycO4aB7dv5frMJWpqZwL3cauFXMICZ7EwZAFWFnbaryxOrDuTyq6emsMSXb29MX1xVBmXel7XWWU2zokTU7l+sC6P3Gq5qPu/AE4VfPBtWZDvY4zp3hMwRRlAwy/3gxtc3Kb54bUUfq2q+np2haYkqnzLLf3Mfoy+A1g/F3Yv1Zzm6Fv0Ypbqzp96dnaqYZ5pmdpBfYVNbdVcAWlEmJugo3mVKECITIykpUrV+Z3MoqMiIiILH9TKpXqzuDp06cZP34848ePp1Ur1dPI5MSnOsez6Y/JpKRbPbJxx8EaY7ozXsQVqnqhMDPj7s1LWYZpYVmM4VOXEdS7JgqFgs8XHzPqjZBjVU+Nf5csUw67ClU0nspZ25bB3MKS+7F3chWHrZ0DvgFd2b92nnpuwf51f+Dbohu2ZfVb0dXJrSbOnr6EblqkfnIeunERLjX8cKzqBcCyGe9R3MaWDm9/qXO4D+Ki+emDQCyLl+Cd79do3IAWsypBcrqbqTRp2yyLa+ZHbvLZWGUnY4cm8koYFpZWhPxvksb2+OhbgGppaVs7B1r1H8fvn/RkQscq1GragRoN39BY3lzXcPSRU5wZRV8Pp6KLt/otbxqnaj4kJz4lPvom5SpVw/O15ijMzLhwdCd1mnXm9uUzVK/fkuhrF7lwZCfNeoziwtGdeNVvkW36csoTQ6WV1zSl7Bx5GB+jnktkinOue9qMVy9kdR7vXD1HJbeaOs0hzKuO+tlDW1n27bu89dV8GncaDKjaiLkfduPnD9ozed0Vimfx/aesjvPx/Xt8P7w5ic8e49OoHbZly6MwM8PMzEyj43D35qVMj7OCq7deq0zqe11pxZfLOiRNTuX67q3LOLpo7gPg6OLFhSM7dEqjLvEYmynKxstjMex6y02bo7F/LvPckDpK33Y1PV3bAlMydZ7l5j4mNwrkENDMRkqZmUNqiua2TFcPTRtWr8j670D19rBEPnzL78iRI1ofORemo+tnI5RKJSkpKSgUCrZtUw1d2L/uD2o17WCcb+xksdRtxuFOGYUf26P+LEH0jXAqudcyPC0vZOxMmpmZZ1rxKszMtD6NoI9m3Ufy4+jW3Aw/SfKzp9y5eo6+H/70Mt4Xiz6kZrhQM3sK6N9hEP/8PIFHCbE8T07iwtGd9Pnw5SdDTu1dj4fv62xd+HIMePSNcJ48TGBDcBDuvk3xbtBa/duzJw/5+YNAHiXE8mHwbhyc3TXis6tQhScP4khOeqZRuSfE3Fb/riGX+ZwtHcPMuIBKamoq5ukmv6cp61hZtfpjOdXTs9qvd+Tr1Rc5vmMVF47sZOE3b2NpVYLRM9fi7ttU53D0kVOcWpRKnZaLti5Vlsoedbh4dBclbEphXcqOSh618arfgr+/e58nDxO4eeEEzbqP1DvN2dGnDAMaT39Vf2+u/ntzLE1yznWVF/WCPnP5cloYyFhO7l6LuYUl/oEv3ywoFAoadxrMqT3ruHr6EDX82+gV5sY/JvPkYTyTVp1XLxIBqrcnWjIr33rOedT7usogt3VImpzKtbHkVTxpTFE20hh8vRnY5uQ2zw2po/RuV9PTsS3Qt07Wh6nzTN/7mNwyuANY1iH/5s0lPYO4KLBLt3Jr1DXV/5avrPrf0uXgfIY3sKkpEHMLSqfrGyjyaDBsly5d5A1gHpowYQKzZmX/7RSFQoGZmRmpqak0bNiQvn37MnbsWL0+sBo47Itsf4+KOK8xpj3q+kWUqamUz9Dh0PibaxdY8cM4Wvb9gPuxd1g0eTiuNRtS1qGyTmkyFYWeF4uXX0scnN05sPYPkhKfUr6yG17p5l+lNRQP4+5qPKlOW3ktvQbtB7B69scc2fY3yc+eYmZmjl+bvurfOwz7QuNpa3aeJyUyd3xX7kScZ8ycrTh71dXap1rtxiiVSq6fO6pxAxURdhgr65JaHfLc5LMpyg6AU7Ua3LhwXGsOUmbsK1bljYHjeWPgeB4/iGPqID82zvuGMXO26hyOvuUiuzgzcqzqyc2LJ1EqlRpPfu9EnMPSqgRl0y2MVN2vJUe2/U1xa1u86gWgUCjwqt9CvSptampKjm8As8qTrI5RnzKsC33yriDL6jw6uflw5eQBUlNTDF5J1Fiy6symdVaz6+xmdZy3L5+hinc9jc5f/N1bWsPjHJw9uHVJe65PbspPdteVvteoscuhQ2V3bl8+o7U9+nq4xr/1TaepmaJsGEtO7YOp8tyQsqFvu5qerm2BrnVyfpS1nPJMn/sYQxSsq0xPxYrDjpdTi0h8ArtXQt2WkFbfVqulGjp67dzL/fauhowPR2ztVIvKZFgwSLzCLC1VTwo9PDyYMmUKkZGRHDp0iDFjxhg9rtBNizWGlG79awZlyjtpLDiS3vOkROZ91g8HZ3d6fDCDgZ8HU9zalj+/GIgyNdXo6dNHqRfDOh7F6/ZxeYVCQdNuwzm8ZQlH/13O692Ga1TcVbzqYlHMipO7X44lvxl+kmtnj2QStyPe/m9weNNiDm9ejE/jdhqd9MBhX9BpRJDGf45VPLG2LUOnEUHqp2bK1FT+nDiISyf2Meq71XikW947vRr+bbCvWJUdS18+RHiUEMvhTYvxDxykNYld33zWRW7DDOj1LjG3rmT6tiH82G6N/5/+jYxNKTtsy5ZXH5uu4ehTLnKKMyP/Dm8SGxnB0W1/q7fdu3Od0E2LadC2n8awL6/6LUi4e5sj2/5Wd/Rs7RxwqubDv4tnUtbRWec5URlldYz6lGFd6HrOC6vmPUaREHNba1XfyCthGvPX8lJ1v5akPE/WmK+sVCo5tGEBllYlcK3lr3eYdo7ORF4OU89LUiqVbPg9SGtIZpMuQ7lz9ZzGSoC3Lp0m4ux/esWX03Wlb91t7HLYpMtQIq+e5ezBLeptdyLOa83f0zedxpSa8pwNwUGc2vtyQRlTlA1jyal9MFWeG1I29G1X09O1LdC1Ts7q/GRWDowlpzzT9T7GUAVyCKiuilur3v7Nehec3FTf83v2BHqmu3+v/TpUqw2/jAW/thAXDQ7OUClD+1+rqWr10LnjwcVH9e3B1gNAmQoh81T7RLx4cLVjmWr4qGMVaNAub45VGEexYsVISkpSrwA6cOBA3N2zf5NiDH5t+/L98Oa4+zblxsUTXD1ziJHTV2ZZ0f3z8ydEXb/I54uOYlHMCotiVgybvISZIwLYvGCaUT/srq8Krt5UrFaD5TPH4tu8C+aWxbL93huoFoNZP/dLlEoljV7MoUhja+dAq35jWfOL6htQCjMzEmIiadJ5CLtX/qoVln/gIP74QrUccG7HyG9b9B3Htq+kWi1/IsIOa0zUti3rQECv0YBqHuawKUuZM7Yjs95tQxWvuhzbsYpyTq50e2+aVrj65rMuchumx2vNGPDpbyz/fgzHd6zC2asuTx7EExF2mEoetfGsFwCo5lEunT6aarUaUbJseSLCDnP3xiUGfDpXr3D0KRc5xZmRb0BXWvcfx/yv3uLU3g3YlCrL8R2rqeBSnZ5jv9c6bjNzC548iNd40+zl15Jdy3+mTrPOup56LVkdo75lOCe6nvPCyrNeAL3+70dWz/6Iswc34+xVl5hbV4iLusHHfx4wenwH1v9JXNQNHsRGAaohfffuXMPCopj6G3v13+jDhSM7+evrYZzZvxG7ClUIP7aHqOsXefPLednWb1lpN3gCJ/es49shjfCsF8DVM6HUatpBaxSHd4PWNOk8lN8+7oFfm76qb4teu0iTzkPZtfxnnePL6brKqvxmxdjl0LvhGzTuPIS5H3bDr21fLCytuHvrMo06DWZPuutE33TqSpdykJLynJDgSTTpMkxdV5iibBhLTu2DqfLckLKhb7uanq5tga51clbnp1hxa61yYCymuE/IDfOgoKCg9BvOnj3LqlWrjDas074ieGiPrMp2n/KVwa2O5j4KoGI1qPJivuq5ULh9SfW5Bwdn1aqf3g2g3yeaC8goFODfHso6qjpzvgHw+otvgTp7vewIWtuC3xuqiJ4ngUUxVccRJYQfV+1T1hE866kWnwEoWRoq6dF3OLYdypaoIXMA89D27dvZs2cPAE5OTrzzzjv8+uuvTJ48mYCAAOzsMq+4J02apProuJthKwlF3wjnyNZldH//W/za9uVBbBQVXL3p+/HPWiuflShZWlVpKuBm+Cla9Ruj8cFguwpVqFDVi8cP4nD1aage454Tz3oBlHVMd8OhUK0M51UvQGsuRUWX6lrf5lEAHnWbYV+xqurfCjP82vbDppQdyYlPUSqVuNZsSLFsFqixKmHDf1uW4uH7Ok06D9X63btha9xqNyI56RlVqtel08hJWFgWw97JRWvuioOzO+YWlnjVC6BJl2E6nYdK7rWolu4p7bPHD3Co4pHpMEqrEja4+LwcnmHn6EzTLsMwMzdXDRNuP4Du70/XOHf65LOudA4zm/ys6l2Ppt2GY1XChtTnz3Fyq0mbQeM15sDVad4Fn8btUCpTASXeDVrT/9O5GvMwdAlHn3KhS5xp10NxG9VkbZ9GbanTvAspyUkUK2FDs+4j6P7edK1jtrC0wqa0HW51mvBay+7q7aXLV6SUfQX82vTVvB70kN0x6lSGs8mr0uWdVENWX3zMWJdznp3MrnvHql4aZVvjHBtYL+irWi1/GncajIWlFWZmZtTwb0OPD759+dHmbNKT5TFm4ebFEzx9dB8r65J41gug9IsPPpuZmavf/qd9kPm1lt1VN2IKBT6N29Hnw9m5voZLlilH406DsbK2xdzCkmbdR6iHrLv4+FEh3cL/yEEAAAM2SURBVGImdZp3wa12Y54nJ+JUzYeu707hxvljen0IPqfrKsvyW7yEQXWIPuXat3kXqtVuzPOkRJzcfOg6egqn964nIeY2rfqNzXU6M8aTGZ3KAaq5W171A9T5Y4qyYfD19uLv/QMHUad55yzbB5PluR77ZUaXdjUrurYFutTJ2dXpGcuBoXlm6H1CxvsYXYUET6JXr174+GjezyqUGWZjr1ixgj59+vC76b6paRSrZsHhTfBd1p8aKXB+/wSqle0pcwDz0MyZM7l27Rr9+vWjUaNGWitHZUWhUDB82nLqv2FYZ/30vhB+GdeJSavO5+uy8/nt0ol9fD+8GeN/31Xo315kxhT5LGVHiKJt0x+T2bJgOj/te5TfSTGa25fPaMzxehgfw6Q+Nan9eife/HJePqZMCNPKrzZ9ZH0Fy5cv13r5VKiHgAqRk/Hjx+d3Eoq0S8f3EnZwM6GbFlGnWedXsvMnhBBCN9sWfU/cnetU8a7Hs8cPOLFrDaXsHOg6enJ+J02IIqXQdgBr+EMp+/xOhRDZc6zqSccRXxnnUxLpbFv0PYlPs34qXLtpR63hCPnF0qoE3d+brv5236vIFPlsqrIjhCgcPOo2U69SWJjq/OwMmfQXV04f5Pq5oyQnPWNw0AJ8GrU1yff7hChIClqbXmiHgBZGMgS08DDWEFAhhBBCCCHyQ1ZDQAv1ZyCEEEIIIYQQQuhOOoBCCCGEEEIIUURIB1AIIYQQQgghigjpAAohhBBCCCFEESEdQCGEEEIIIYQoIqQDKIQQQgghhBBFhHQAhRBCCCGEEKKIkA6gEEIIIYQQQhQR0gEUQgghhBBCiCJCOoBCCCGEEEIIUURIB1AIIYQQQgghigjpAAohhBBCCCFEESEdQCGEEEIIIYQoIqQDKIQQQgghhBBFhEVWPxz9Ny+TUTQk3AXK5ncqhK6unjmU30kQQgghhBDCqLLsAP7v07xMRtHxmld+p0DoasfSWexgVn4nQwghhBBCCKNRKJVKZX4nQgghhBBCCCGE6ckcQCGEEEIIIYQoIqQDKIQQQgghhBBFhHQAhRBCCCGEEKKIsABW5ncihBBCCCGEEEKY3v8DIljQYYLHZpwAAAAASUVORK5CYII=",
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
       "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
       " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
       "<!-- Generated by graphviz version 2.43.0 (0)\n",
       " -->\n",
       "<!-- Title: %3 Pages: 1 -->\n",
       "<svg width=\"672pt\" height=\"44pt\"\n",
       " viewBox=\"0.00 0.00 672.00 44.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
       "<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 40)\">\n",
       "<title>%3</title>\n",
       "<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-40 668,-40 668,4 -4,4\"/>\n",
       "<!-- 2b909728b8e78ecc -->\n",
       "<g id=\"node1\" class=\"node\">\n",
       "<title>2b909728b8e78ecc</title>\n",
       "<polygon fill=\"#99cc00\" stroke=\"black\" points=\"65,-36 0,-36 0,0 65,0 65,-36\"/>\n",
       "<text text-anchor=\"middle\" x=\"32.5\" y=\"-14.9\" font-family=\"Helvetica,sans-Serif\" font-size=\"12.00\">&#45;i input1</text>\n",
       "</g>\n",
       "<!-- 40c9ca558343f4bc -->\n",
       "<g id=\"node2\" class=\"node\">\n",
       "<title>40c9ca558343f4bc</title>\n",
       "<polygon fill=\"#99ccff\" stroke=\"black\" points=\"664,-36 145,-36 145,0 664,0 664,-36\"/>\n",
       "<text text-anchor=\"middle\" x=\"404.5\" y=\"-14.9\" font-family=\"Helvetica,sans-Serif\" font-size=\"12.00\">&#45;pix_fmt yuv420p &#45;preset slow &#45;tune flim &#45;crf 18 &#45;aq_strength 1.8 &#45;mbtree 0 out.mp4</text>\n",
       "</g>\n",
       "<!-- 2b909728b8e78ecc&#45;&gt;40c9ca558343f4bc -->\n",
       "<g id=\"edge1\" class=\"edge\">\n",
       "<title>2b909728b8e78ecc&#45;&gt;40c9ca558343f4bc</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M65.05,-18C82.95,-18 107.23,-18 134.62,-18\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"134.85,-21.5 144.85,-18 134.85,-14.5 134.85,-21.5\"/>\n",
       "<text text-anchor=\"middle\" x=\"105\" y=\"-21.8\" font-family=\"Times,serif\" font-size=\"14.00\">0 &#45;&gt; 0</text>\n",
       "</g>\n",
       "</g>\n",
       "</svg>\n"
      ],
      "text/plain": [
       "OutputStream(node=OutputNode(kwargs=FrozenDict({'pix_fmt': 'yuv420p', 'preset': 'slow', 'tune': 'flim', 'crf': 18, 'aq_strength': 1.8, 'mbtree': 0}), inputs=(AVStream(node=InputNode(kwargs=FrozenDict({}), inputs=(), filename='input1'), index=None, optional=False),), filename='out.mp4'), index=None, optional=False)"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import ffmpeg\n",
    "\n",
    "input1 = ffmpeg.input(\"input1\")\n",
    "input1.output(\n",
    "    filename=\"out.mp4\",\n",
    "    encoder_options=ffmpeg.codecs.encoders.libx264(\n",
    "        crf=18, preset=\"slow\", tune=\"flim\", aq_strength=1.8, mbtree=0\n",
    "    ),\n",
    "    pix_fmt=\"yuv420p\",\n",
    ")"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": ".venv",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
